Dome9でマルチアカウント&マルチVPC環境下のSecurity Group管理を効率化する
はじめに
中山(順)です
AWSを全面的に採用している組織においては、AWSアカウントやVPCを分割して利用しているというケースが非常に多いかと思います。 Developers.IOでもアカウントおよびVPCの分割戦略について記事が投稿されています。
権限の分離やコスト管理などの観点で分割するという結論に至ることが実際多いのですが、運用してくるとそのデメリットが少しずつ顕在化してきます。 その具体例がSecurity Groupの管理です。
例えば、管理目的でVPC上のリソースにSSHなどでアクセスする必要がある場合、Security Groupで特定のIPアドレス(オフィスのグローバルIPアドレスなど)からの通信を許可する必要があります。 しかしながら、現時点ではSecurity GroupやそのルールをAWSアカウントはもちろんVPC間で共有することができません。(2018年10月29日時点)
必要になったタイミングで設定すればいいですが、オフィスの引っ越しなどでIPアドレスが変わってしまう場合、既存の設定を一括で変更する必要があります。 また、システムの管理を委託しているケースで、委託先を変更・追加するようなときにも同様の対応が必要になるでしょう。
これは・・・刺身タンポポ!
SRE的に言えば典型的なトイルですが、Dome9ではIP Listを利用することでこの問題を解決できます。
IP Listとは
IPアドレス / ネットワークアドレスをオブジェクトとして定義するDome9の機能です。
Dome9ではSecurity Groupの変更を実施することができますが、この際にIP Listから選んだIPアドレスをSecurity Groupの送信元(インバウンド)/送信先(アウトバウンド)に指定することができます。 また、1つのオブジェクトは複数のルールに適用することができます。 つまり、オブジェクトを変更することでそのオブジェクトを設定したSecurity Groupを一括変更することが可能です。
やってみた
早速試してみます。
AWSアカウントの登録方法はこちらをご参照ください。
IP Listの定義
まず、IPリストの管理画面を開きます。
「追加」をクリックし、IP Listの名前を指定します。
IPアドレスを入力し、"ADD"をクリックします。
IPアドレスに対してコメントを追加することも可能です。
設定が完了したら、"SAVE"をクリックします。
Security Groupから参照
それでは、IP Listを利用してSecurity Groupを設定してみましょう。
今回、テスト用に2つのAWSアカウントを用意しました。 このアカウントの以下のSecurity Groupに対してIP Listを利用した設定を行います。
- Region
- Tokyo
- VPC
- default
- Security Group
- default
まず、Security GroupをDome9のコンソールから管理できるように、"Full Protection"を有効化します。
Inbound Servicesの"+"をクリックし、ルールを追加します。
"ADD SOURCE"をクリックし、ルールを追加します。 この際、"IP LIST (CUSTOMER MANAGED)" を選択すると、先ほど作成したIP LISTを選択できます。 設定が完了したら、"CREATE SERVICE"をクリックします。
Dome9のコンソール上に、ルールが追加されました。
もう一つのアカウントでも同様の設定を行います。
それでは、AWSのマネージメントコンソール上で設定を確認してみましょう。 以下の通り、問題なく設定できていました。
IP Listの修正
それでは、IP Listを修正するとどうなるでしょうか? 期待する動作としては「設定されているSecurity Groupに一括反映される」となります。
今回は、IPアドレスを追加してみます。(ちなみに、以下の画像はIPリストの詳細画面です。参照しているSecurity Groypが確認できます。)
マネージメントコンソールで確認したところ、こちらも問題無く反映されていました。
おまけ
IP Listには、Dome9が管理するIP Listも存在します。 具体的には、以下のサービスのIPアドレスが存在するようでした。
- CloudFront (All regions and each region)
- CloudFlare
- Dome9
- Incapsula
- New Relic
まとめ
このように、IP Listを利用することでマルチアカウント/マルチVPC環境においてSecurity Groupの管理が効率化できそうなことを確認できました。
AWSアカウントを分割することでコスト管理や権限分離がしやすくなるのは良いですが、似たような設定を各AWSアカウント/各VPCで実施する必要があるなどのデメリットもあります。 AWS Organizationsのリリース以降、ConfigやFirewall ManagerなどOrganizationsの利用前提でアカウントを跨ぐ管理機能もいくつかリリースされていますし、 それ以前からもIAM Roleやリソースポリシーによるアカウント間のアクセスを利用した管理機能の集約は可能でした。 しかし、今回のSecurity Groupなど対応できていない点も少なからず存在します。 Security Groupの変更に疲弊している方は、一度評価してみてはいかがでしょうか?
現場からは以上です。
追伸
先日、Dome9社がCheck Point社に買収されることが発表されました。
Check Point Acquires Cloud Innovator Dome9
今後の展開について見守っていきたいと思います。